package beforeadvice;

import org.springframework.aop.MethodBeforeAdvice;

import java.lang.reflect.Method;

//通知类  实现一个前置通知的接口
public class MyBeforeAdvice implements MethodBeforeAdvice {

    /**
    * before:配置要实现的额外功能
    * 参数：
    * method(Method): 方法，要添加额外功能的方法对象
    * args:  要添加额外功能的方法的参数
    * object:目标对象
    * */
    @Override
    public void before(Method method, Object[] args, Object object) throws Throwable {
        //额外功能
        System.out.println("开启事务");

        System.out.println("方法名："+method.getName());
        for (Object arg : args) {
            System.out.println("方法的参数："+arg);
        }

        System.out.println("目标对象名："+object.getClass().getName());
    }
}
